﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ТипыАвтоматическогоОбменаДанными
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"213e73e1-95fd-4fba-ba9e-400d6e559be9\", \"Представление\":\"ОбменЧерезФайловыйРесурс\"}")]
		ОбменЧерезФайловыйРесурс = 0,//Обмен через файловый ресурс
		[EnumMember(Value = "{\"Ссылка\":\"ff4344a9-da43-426c-9775-0e0084f07265\", \"Представление\":\"ОбменЧерезFTPРесурс\"}")]
		ОбменЧерезFTPРесурс = 1,//Обмен через FTP ресурс
		[EnumMember(Value = "{\"Ссылка\":\"eb95c98f-52fc-4f6e-8ae2-8a3abc255bd0\", \"Представление\":\"ОбменЧерезПочту\"}")]
		ОбменЧерезПочту = 2,//Обмен электронными сообщениями
		[EnumMember(Value = "{\"Ссылка\":\"ad89460e-dca5-40e8-b234-39c356d0fe6e\", \"Представление\":\"ОбменЧерезComСоединение\"}")]
		ОбменЧерезComСоединение = 3,//Обмен через подключение к информационной базе
	}
	public static partial class ТипыАвтоматическогоОбменаДанными_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ОбменЧерезФайловыйРесурс = new Guid("0d409eba-556e-e99b-4fba-95fd213e73e1");//Обмен через файловый ресурс
		public static readonly Guid ОбменЧерезFTPРесурс = new Guid("000e7597-f084-6572-426c-da43ff4344a9");//Обмен через FTP ресурс
		public static readonly Guid ОбменЧерезПочту = new Guid("3a8ae28a-25bc-d05b-4f6e-52fceb95c98f");//Обмен электронными сообщениями
		public static readonly Guid ОбменЧерезComСоединение = new Guid("c33934b2-d056-6efe-40e8-dca5ad89460e");//Обмен через подключение к информационной базе
		public static ТипыАвтоматическогоОбменаДанными Получить(this ТипыАвтоматическогоОбменаДанными Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ТипыАвтоматическогоОбменаДанными Получить(this ТипыАвтоматическогоОбменаДанными Значение, Guid Ссылка)
		{
			if(Ссылка == ОбменЧерезФайловыйРесурс)
			{
				return ТипыАвтоматическогоОбменаДанными.ОбменЧерезФайловыйРесурс;
			}
			else if(Ссылка == ОбменЧерезFTPРесурс)
			{
				return ТипыАвтоматическогоОбменаДанными.ОбменЧерезFTPРесурс;
			}
			else if(Ссылка == ОбменЧерезПочту)
			{
				return ТипыАвтоматическогоОбменаДанными.ОбменЧерезПочту;
			}
			else if(Ссылка == ОбменЧерезComСоединение)
			{
				return ТипыАвтоматическогоОбменаДанными.ОбменЧерезComСоединение;
			}
			return ТипыАвтоматическогоОбменаДанными.ПустаяСсылка;
		}
		public static byte[] Ключ(this ТипыАвтоматическогоОбменаДанными Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ТипыАвтоматическогоОбменаДанными Значение)
		{
			switch (Значение)
			{
				case ТипыАвтоматическогоОбменаДанными.ОбменЧерезФайловыйРесурс: return ОбменЧерезФайловыйРесурс;
				case ТипыАвтоматическогоОбменаДанными.ОбменЧерезFTPРесурс: return ОбменЧерезFTPРесурс;
				case ТипыАвтоматическогоОбменаДанными.ОбменЧерезПочту: return ОбменЧерезПочту;
				case ТипыАвтоматическогоОбменаДанными.ОбменЧерезComСоединение: return ОбменЧерезComСоединение;
			}
			return Guid.Empty;
		}
	}
}